package com.aggregate.pay.sanstar.bean;

import java.math.BigDecimal;
import java.util.Date;

import com.aggregate.pay.sanstar.enums.PayRoad;
import com.aggregate.pay.sanstar.enums.PayMode;
import com.aggregate.pay.sanstar.enums.PayType;

/**
 * 统一支付接口－请求参数
 * @author Moyq5
 * @date 2017年9月29日
 */
public class PayCreateData {

    private String traceId;
	/**
	 * 商户(终端)自定义订单号，必填
	 */
	private String lowerNo;
	/**
     * 交易时间(终端时间)，必填
     */
    private Date lowerTime;
    /**
	 * 商品名称，选填
	 */
	private String goods;
	/**
	 * 优惠说明
	 */
	private String sales;
	/**
	 * 交易金额，单位：元，必填
	 */
	private BigDecimal amount;
	/**
     * 实付金额，单位：元，优惠后应付金额，填写后，将后台将不再执行后台优惠策略
     */
    private BigDecimal payAmount;
    /**
	 * 支付类型，必填
	 */
	private PayType payType;
	/**
	 * 支付场景，必填
	 */
	private PayRoad payRoad;
	/**
	 * 扣款模式，选填
	 */
	private PayMode payMode;
	/**
     * 支付结果异步通知地址，优先于平台配置地址，选填
     */
    private String notifyUrl;
    /**
     * 支付结果同步通知地址，web支付场景有效，选填
     */
    private String returnUrl;
	/**
     * 授权码，即付款码，条码支付时必填
     */
    private String payCode;
    /**
     * 实体卡余额，单位：元，实体交易时传
     */
    private BigDecimal balance;
    /**
     * 付款人ID，如微信离线刷脸用户out_user_id，微信离线刷脸时传
     */
    private String payerId;
    /**
     * 付款人在渠道方的ID，如微信离线刷脸用户user_id，微信离线刷脸时传
     */
    private String upperId;
    /**
     * 付款人机构ID，如微信刷脸机构ID，微信离线刷脸时传
     */
    private String orgId;
    public String getLowerNo() {
        return lowerNo;
    }
    public void setLowerNo(String lowerNo) {
        this.lowerNo = lowerNo;
    }
    public Date getLowerTime() {
        return lowerTime;
    }
    public void setLowerTime(Date lowerTime) {
        this.lowerTime = lowerTime;
    }
    public String getGoods() {
        return goods;
    }
    public void setGoods(String goods) {
        this.goods = goods;
    }
    public BigDecimal getAmount() {
        return amount;
    }
    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }
    public PayType getPayType() {
        return payType;
    }
    public void setPayType(PayType payType) {
        this.payType = payType;
    }
    public PayRoad getPayRoad() {
        return payRoad;
    }
    public void setPayRoad(PayRoad payRoad) {
        this.payRoad = payRoad;
    }
    public PayMode getPayMode() {
        return payMode;
    }
    public void setPayMode(PayMode payMode) {
        this.payMode = payMode;
    }
    public String getNotifyUrl() {
        return notifyUrl;
    }
    public void setNotifyUrl(String notifyUrl) {
        this.notifyUrl = notifyUrl;
    }
    public String getReturnUrl() {
        return returnUrl;
    }
    public void setReturnUrl(String returnUrl) {
        this.returnUrl = returnUrl;
    }
    public String getPayCode() {
        return payCode;
    }
    public void setPayCode(String payCode) {
        this.payCode = payCode;
    }
    public BigDecimal getBalance() {
        return balance;
    }
    public void setBalance(BigDecimal balance) {
        this.balance = balance;
    }
    public String getPayerId() {
        return payerId;
    }
    public void setPayerId(String payerId) {
        this.payerId = payerId;
    }
    public String getUpperId() {
        return upperId;
    }
    public void setUpperId(String upperId) {
        this.upperId = upperId;
    }
    public String getSales() {
        return sales;
    }
    public void setSales(String sales) {
        this.sales = sales;
    }
    public BigDecimal getPayAmount() {
        return payAmount;
    }
    public void setPayAmount(BigDecimal payAmount) {
        this.payAmount = payAmount;
    }
    public String getOrgId() {
        return orgId;
    }
    public void setOrgId(String orgId) {
        this.orgId = orgId;
    }
    public String getTraceId() {
        return traceId;
    }
    public void setTraceId(String traceId) {
        this.traceId = traceId;
    }
	
}
